#include "GameOptions.h"

///////////////////////////////////////////////////////////////////////////////
// Constructors and Destructors
///////////////////////////////////////////////////////////////////////////////

GameOptions::GameOptions(void)
    : _difficulty(MEDIUM), _graphicDetail(MODERATE), _musicEnabled(true), _fxEnabled(true)
{
}

GameOptions::GameOptions(const DifficultyType difficulty, const GraphicDetailType graphicDetail,
    const BOOL musicEnabled, const BOOL fxEnabled)
    : _difficulty(difficulty), _graphicDetail(graphicDetail), _musicEnabled(musicEnabled), 
    _fxEnabled(fxEnabled)
{
}

GameOptions::~GameOptions(void)
{
}

///////////////////////////////////////////////////////////////////////////////
// Getters
///////////////////////////////////////////////////////////////////////////////

const DifficultyType GameOptions::difficulty(void)
{
    return _difficulty;
}

const GraphicDetailType GameOptions::graphicDetail(void)
{
    return _graphicDetail;
}

const BOOL GameOptions::isMusicEnabled(void)
{
    return _musicEnabled;
}

const BOOL GameOptions::isFxEnabled(void)
{
    return _fxEnabled;
}

///////////////////////////////////////////////////////////////////////////////
// Setters
///////////////////////////////////////////////////////////////////////////////

void GameOptions::setDifficulty(const DifficultyType difficulty)
{
    _difficulty = difficulty;
}

void GameOptions::setGraphicDetail(const GraphicDetailType graphicDetail)
{
    _graphicDetail = graphicDetail;
}

void GameOptions::setMusicEnabled(const BOOL musicEnabled)
{
    _musicEnabled = musicEnabled;
}

void GameOptions::setFxEnabled(const BOOL fxEnabled)
{
    _fxEnabled = fxEnabled;
}
